uk.gui={
	__tipinfo:{
		anim:[],
		anim_idx:0,
		anim_evt:null,
		anim_size_cx:0
	},
	__messageboxs:[],
	is_tip_shown:false,
	show_tip_message:function(tip){
		this.is_tip_shown = tip && tip.length;
		for(var i in uk.gui.__tipinfo.anim){
			uk.gui.__tipinfo.anim[i].destroy();
		}
		if(uk.gui.__tipinfo.anim_evt != null){
			uk.game.time.events.remove(uk.gui.__tipinfo.anim_evt);
			uk.gui.__tipinfo.anim_evt = null;
		}
		uk.gui.__tipinfo.anim=[];
		if(!this.is_tip_shown)
			return;
		uk.gui.__tipinfo.anim_size_cx = 0;
		for(var i = 0;i < tip.length;i++){
			var t = uk.game.add.text(0,0,tip.substr(i,1),{fontSize:30,fill:'#ffff00',stroke:'black',strokeThickness:3});
			uk.gui.__tipinfo.anim_size_cx += t.width;
			uk.gui.__tipinfo.anim.push(t);
		}
		
		var startx = (uk.viewsize.cx - uk.gui.__tipinfo.anim_size_cx)/2;
		var centery = (uk.viewsize.cy - uk.gui.__tipinfo.anim[0].height)/2;
		for(var i in uk.gui.__tipinfo.anim){
			uk.gui.__tipinfo.anim[i].x = startx;
			uk.gui.__tipinfo.anim[i].y = centery;
			startx += uk.gui.__tipinfo.anim[i].width;
		}
		uk.gui.__tipinfo.anim_idx = uk.gui.__tipinfo.anim.length-1;
		uk.gui.__tipinfo.anim_evt = uk.game.time.events.loop(80,this.__update_tipinfo_anim,this);
	},

	fill_graphics_rect:function(g,c,w,h){
		g.beginFill(c&0xffffff,c>0xffffff?((c>>24)&0xff)/255:1);
		g.lineTo(0,0);
		g.lineTo(w,0);
		g.lineTo(w,h);
		g.lineTo(0,h);
		g.endFill();
	},

	__update_tipinfo_anim:function(){
		var oldidx = uk.gui.__tipinfo.anim_idx;
		var centery = (uk.viewsize.cy-uk.gui.__tipinfo.anim[oldidx].height)/2;
		uk.gui.__tipinfo.anim[oldidx].y = centery;
		var newidx = (oldidx+1) % uk.gui.__tipinfo.anim.length;	
		uk.gui.__tipinfo.anim[newidx].y = centery - 8;	
		uk.gui.__tipinfo.anim_idx = newidx;
	}
}